package com.wzdigit.wms.basic.client.response.transfer;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.wzdigit.framework.orm.model.BasicDomain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @ClassName LocationResponse
 * @Description 库位响应类，比库位实体多了仓库ID
 * @Author LHR-PC
 * @Date 2021/4/12 16:04
 * @Version
 **/
@Data
public class LocationResponse extends BasicDomain implements Serializable {



    private static final long serialVersionUID = 6569264339101685916L;

    /**
     * 库位ID
     */
    @TableId("LOC_ID")
    private Integer locId;

    /**
     * 库区ID
     */
    @TableField("ZONE_ID")
    private Integer zoneId;

    /**
     * 库位代码
     */
    @TableField("LOC_CODE")
    private String locCode;

    /**
     * 库位描述
     */
    @TableField("LOC_DESC")
    private String locDesc;

    /**
     * 库位显示
     */
    @TableField("LOC_DISP")
    private String locDisp;

    /**
     * 电子标签ID
     */
    @TableField("RFID_ID")
    private Integer rfidId;

    /**
     * 货架ID
     * 表示入库流程中，需要上架到该库区的货物，将首先移动到制定的库位作为上架过渡。通常情况下可跳过，不设置
     */
    @TableField("RACK_ID")
    private Integer rackId;

    /**
     * 使用方式/用途：
     * --枚举类型
     * 箱拣货库位、件拣货库位、箱/件拣货库位、存储库位、过渡库位、理货站和组装工作区
     */
    @TableField("LOC_USAGE")
    private Integer locUsage;

    /**
     * 库位类型：
     * --枚举类型
     * 地面平仓、重力式货架、货架和窄巷道货架
     */
    @TableField("LOC_TYPE")
    private Integer locType;

    /**
     * 属性
     * --枚举类型
     * 正常、封存、管控和禁入
     */
    @TableField("LOC_ATTR")
    private Integer locAttr;

    /**
     * 库位处理：
     * --枚举类型
     * 识别在库位中将存放的产品包装的类型。系统提供以下 3 种类型：仅限于箱、仅限于托盘和其他。
     */
    @TableField("LOC_HANDLING")
    private Integer locHandling;

    /**
     * 库存/存储环境
     */
    @TableField("STORE_ENV")
    private String storeEnv;

    /**
     * 重量限制
     */
    @TableField("WEIGHT_CAPACITY")
    private BigDecimal weightCapacity;

    /**
     * 体积限制
     */
    @TableField("CUBIC_CAPACITY")
    private BigDecimal cubicCapacity;

    /**
     * 数量限制
     */
    @TableField("COUNT_CAPACITY")
    private Integer countCapacity;

    /**
     * 托盘数量限制
     */
    @TableField("PLT_COUNT")
    private Integer pltCount;

    /**
     * 箱子数量限制
     */
    @TableField("CS_COUNT")
    private Integer csCount;

    /**
     * SKU限制
     */
    @TableField("SKU_CAPACITY")
    private Integer skuCapacity;

    /**
     * 上架顺序：
     */
    @TableField("PUTAWAY_SEQ")
    private String putawaySeq;

    /**
     * 拣货顺序：
     */
    @TableField("PICK_SEQ")
    private String pickSeq;

    /**
     * 忽略 ID：
     */
    @TableField("LOSE_ID_FLAG")
    private Integer loseIdFlag;

    /**
     * 允许混放产品：
     */
    @TableField("MIX_FLAG")
    private Integer mixFlag;

    /**
     * 允许混放批次：
     */
    @TableField("MIX_LOT_FLAG")
    private Integer mixLotFlag;

    /**
     * 周转需求：
     * --枚举类型
     * 库位的周转类型，如快速周转、中速周转和慢速周转。通常与产品 ABC分级配合使用。
     */
    @TableField("DEMAND")
    private Integer demand;

    /**
     * 校验码：
     * 操作库位确认时，可通过扫描校验码确认库位，而不是仅仅根据库位 ID。
     */
    @TableField("VALIDATION_CODE")
    private String validationCode;

    /**
     * 长
     */
    @TableField("LENGTH")
    private Integer length;

    /**
     * 宽
     */
    @TableField("WEIDTH")
    private Integer weidth;

    /**
     * 高
     */
    @TableField("HEIGHT")
    private Integer height;

    /**
     * X 坐标
     * 库位的 X、Y、Z 坐标和层数，空间定位信息，多用于自动化仓库，在库位就近逻辑计算中也有使用。
     */
    @TableField("X_COORD")
    private Integer xcoord;

    /**
     * Y 坐标
     * 库位的 X、Y、Z 坐标和层数，空间定位信息，多用于自动化仓库，在库位就近逻辑计算中也有使用。
     */
    @TableField("Y_COORD")
    private Integer ycoord;

    /**
     * Z 坐标
     * 库位的 X、Y、Z 坐标和层数，空间定位信息，多用于自动化仓库，在库位就近逻辑计算中也有使用。
     */
    @TableField("Z_COORD")
    private Integer zcoord;

    /**
     * 层数
     * 库位的 X、Y、Z 坐标和层数，空间定位信息，多用于自动化仓库，在库位就近逻辑计算中也有使用。
     */
    @TableField("LOC_LEVEL")
    private Integer locLevel;

    /**
     * X像素
     * 图形化界面配置使用
     */
    @TableField("X_PIXEL")
    private Integer xpixel;

    /**
     * Y像素
     * 图形化界面配置使用
     */
    @TableField("Y_PIXEL")
    private Integer ypixel;

    /**
     * 状态
     */
    @TableField("STATUS")
    private Integer status;

    /**
     * 备注
     */
    @TableField("COMMENTS")
    private String comments;

    /**
     * 用户自定义字段1（使用方式/用途名称）
     */
    @TableField("UDF1")
    private String udf1;

    /**
     * 用户自定义字段2（库位类型名称）
     */
    @TableField("UDF2")
    private String udf2;

    /**
     * 用户自定义字段3（属性名称）
     */
    @TableField("UDF3")
    private String udf3;

    /**
     * 用户自定义字段4（库位处理名称）
     */
    @TableField("UDF4")
    private String udf4;

    /**
     * 用户自定义字段5（周转需求名称）
     */
    @TableField("UDF5")
    private String udf5;


    @ApiModelProperty("仓库ID")
    private Integer whsId;
}
